import { install } from "element-plus";
// 用于监听元素是否进入
import { useIntersectionObserver } from '@vueuse/core'

export const lazyPlugin = {
    install(app) {
        // 定义全局指令
        app.directive('img-lazy', {
            mounted(el, binding) {
                // el:绑定的元素
                // binding:指令等于号后面的值 例如 v-img-lazy="xxx"
                const { stop } = useIntersectionObserver(
                    el,
                    ([{ isIntersecting }]) => {
                        // isIntersecting:是否进入视口
                        // 如果图片进入视口，将图片地址赋值给src
                        if (isIntersecting) {
                            el.src = isIntersecting ? binding.value : ''
                            stop() // 停止监听
                        }
                    },
                )
            }
        })
    }
}